gtk_container_add (GTK_CONTAINER (eventbox), label);
gtk_widget_show_all (eventbox);
- gtk_widget_grab_focus (eventbox);
+ gtk_grab_add (eventbox);
return GTK_CELL_EDITABLE (eventbox);
}
edited = TRUE;
out:
+ gtk_grab_remove (box);
gtk_cell_renderer_accel_ungrab (GTK_CELL_RENDERER_ACCEL (box->cell));
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (widget));
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (widget));
{
GtkCellEditableEventBox *box = (GtkCellEditableEventBox*)widget;
+ gtk_grab_remove (box);
gtk_cell_renderer_accel_ungrab (GTK_CELL_RENDERER_ACCEL (box->cell));
GTK_WIDGET_CLASS (gtk_cell_editable_event_box_parent_class)->unrealize (widget);
}
-static gboolean
-gtk_cell_editable_event_box_focus_out (GtkWidget *widget,
- GdkEventFocus *event)
-{
- GtkCellEditableEventBox *box = (GtkCellEditableEventBox*)widget;
-
- gtk_cell_renderer_accel_ungrab (GTK_CELL_RENDERER_ACCEL (box->cell));
- gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (widget));
- gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (widget));
-
- return FALSE;
-}
-
static void
gtk_cell_editable_event_box_set_property (GObject *object,
guint prop_id,
widget_class->key_press_event = gtk_cell_editable_event_box_key_press_event;
widget_class->unrealize = gtk_cell_editable_event_box_unrealize;
- widget_class->focus_out_event = gtk_cell_editable_event_box_focus_out;
g_object_class_override_property (object_class,
PROP_EDITING_CANCELED,